package com.itheima.多态;

public class Test05 {
    /*
    定义USB接口:（开启功能）（关闭功能）
    定义笔记本类:（开机功能）（关机功能）
    （定义使用USB设备的功能,要求:既能使用鼠标也能使用键盘,使用USB功能内部调用开启和关闭功能）
    定义鼠标类:要符合USB接口
    定义键盘类:要符合USB接口
    定义测试类:创建电脑对象,依次调用开机方法,使用USB设备, 关机方法
    运行结果：
    笔记本开机
    连接鼠标的USB
    断开鼠标的USB
    连接键盘的USB
    断开键盘的USB
    笔记本关机
     */
    public static void main(String[] args) {
        Notebook usb = new Notebook();
        usb.boot();
        usb.useUSB(new Mouse());
        usb.useUSB(new Keyboard());
        usb.off();
    }
}

class Notebook implements USB{

    @Override
    public void boot() {
        System.out.println("笔记本开机");
    }

    @Override
    public void off() {
        System.out.println("笔记本关机");
    }
    public void useUSB(USB usb){
        usb.boot();
        usb.off();
    }
}

class Keyboard implements USB{

    @Override
    public void boot() {
        System.out.println("连接键盘的USB");
    }

    @Override
    public void off() {
        System.out.println("断开键盘的USB");
    }
}

class Mouse implements USB{

    @Override
    public void boot() {
        System.out.println("连接鼠标的USB");
    }

    @Override
    public void off() {
        System.out.println("断开鼠标的USB");
    }
}

interface USB{
    void boot();
    void off();
}

